[アップデート] AWS Fault Injection Service で実験レポートを作成するオプションが追加されました
いわさです。
先日、AWS のカオスエンジニアリングサービスである AWS FIS(Fault Injection Service)にて、実験レポートという機能が登場しました。
そのまんまですが、どうやら実験結果をレポート出力してくれるようです。
どのようなレポートが生成されるのか実際に FIS を実行して出力してみましたので設定方法含めて紹介します。
その前に、料金
試す前に、認識しておくべき重要な点があります。
この新機能は追加料金が発生するオプション機能となっています。
料金ページを見てみましょう。
You have the option to generate reports for AWS FIS experiments, reducing the time and effort to produce evidence of resilience testing. The report summarizes experiment actions and captures application response from a customer-provided CloudWatch Dashboard. The AWS FIS price is $5 per report.
レポートごとに 5 USD !まぁまぁしますね。
この料金感からして全実験でとりあえず出力しておけという類のレポートではなさそうです。
実験テンプレートに対してレポート設定を行う
今回のアップデートで実験テンプレートに次の「レポート設定」というタブが追加されています。
「レポート設定を行う」ボタンからは実験テンプレート編集画面に繊維するだけです。
実際には実験テンプレート編集画面のステップ4 のオプション機能で有効化を行います。
実験レポートは任意の S3 バケットへ出力されます。
そのため、有効化時には S3 バケットを指定する必要があります。事前に用意しておきましょう。
また、指定した S3 バケットへのオブジェクト出力は実験ロールを経由して行われますので、実験ロールには該当 S3 バケットに書き込みが出来る権限を設定しておきましょう。
最小権限を行いたい場合は次の公式ドキュメントを参考に設定してください。
さらに追加の設定として、レポートに実験に関連する情報を含めることが出来ます。
具体的には任意の CloudWatch ダッシュボードのテスト時点の情報をレポートに埋め込むことが可能です。
上記の「このレポートに CloudWatch メトリクスを含める」を ON にしてダッシュボードを指定しましょう。
今回私は設定を割愛しましたが、サンプルレポートを公式ドキュメントから入手出来ましたので見え方などは後ほどご紹介します。
開始した実験のレポート‐を確認してみる
あとは実験を開始するだけです。
実験にも「レポート」タブが新たに追加されており、こちらからレポート出力ステータスや出力先、どの CloudWatch ダッシュボードが使われたかなどを確認出来ます。
今回は実験を開始しましたがすぐにエラーで終了してしまった実験に対してのレポートを確認してみます。
レポート送信先の S3 バケットを確認してみると、実験のレポートタブに記載されている PDF ファイルが出力されています。見てみましょう。
立派な表紙がついてますね。フルカラーです。
なるほど、レポートってこういう感じか。AWS Well-Architedted Tools のレポートみたいな形ですね。
実験の結果などが表示されています。表記は英語ですね。
言語指定は出来なさそうだったのでレポートは英語のみみたいです。
あとは、デフォルトであれば実験のタイムラインとかも表示されていますね。
デフォルトだとそこまで多くの情報は取得されずという感じです。
今回割愛しましたが、CloudWatch ダッシュボードをメトリクスに埋め込む場合のサンプルも紹介します。
先ほど紹介した公式ドキュメントからサンプルレポートをダウンロードすることが出来ます。
これは良さそうですね。
良さそうというか、実験中のサーバーメトリクスやエラーの発生有無など経過を整理してレポートする化することで初めてこのレポートに価値が出そうです。
CloudWatch ダッシュボードの事前準備は必要ですが、この FIS のレポート機能を使うのであればぜひ埋め込みたいところです。
さいごに
本日は AWS Fault Injection Service で実験レポートを作成するオプションが追加されたので使ってみました。
一つ出力するごとに 5 USD も必要なのもあり、おそらく用途としては本番環境での障害訓練を行うような、本格的なカオスエンジニアリングを導入しており、その際のワークロードへの影響点を含めてレポート化して報告などを行うようなそんな使い方になりそうです。